GNUSH v0902_ES
 

Sep 11th, 2009

KPIT Cummins Infosystems Limited is releasing the GNUSH v0902_ES (Eclipse Support) toolchain, which is a cross compiler tool for Renesas (formerly Hitachi and Mitsubishi) SH series of microcontrollers.

SALIENT FEATURES:

1.

The GNUSH v0902_ES ELF toolchain can now be integrated with KPIT GNU Eclipse v1.1.0. KPIT GNU Eclipse is an Eclipse based Integrated Development Environment (IDE) providing a user interface to KPIT GNUSH ELF toolchains (for Windows and Linux).
KPIT GNU Eclipse complements the Renesas HEW IDE and offers users more options for development.
Please refer to the following link for more information on KPIT GNU Eclipse,
http://kpitgnutools.com/releaseNotes.php

2. The GNUSH_ES v0902 toolchain is based on gcc-4.3.3 [released], binutils-2.19 [released], newlib-1.16.0 [released], gdb-6.8.50 [dated 27th March 2009].
3. The latest patches have been applied to gcc, binutils and newlib sources. Please refer to the following link for the patches applied to the GNUSH toolchain,
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=002004&id=78&lang=en  

4.

The separate GUI interfaces in HEW for the library generator, the compiler, the assembler and the linker build phases have been replaced by a single interface to allow users to make application-wide changes far more easily.

5.

The GNUSH v0902_ES uses MinGW based GDBSH debugger.

ABOUT GNUSH v0902_ES:

Release version: GNUSH v0902_ES
Release Date: September 11th, 2009
Platforms Supported: Red Hat GNU/Linux v8.0 or later (or compatible distribution)
Windows NT/2000/XP/Vista
NOTE: Windows 7 RC is not yet officially supported but early testing shows no compatibility issues
Language: C, C99, C++
Targets: SH-1

 

SH-2

 

SH-2A

 

SH-2E

 

SH2-DSP

 

SH-3

 

SH-3E

 

SH3-DSP

 

SH-4

 

SH-4A

 

SH-4AL-DSP
Object File Format: ELF

 

For free technical support please register at http://www.kpitgnutools.com/
For your feedback and suggestions please visit http://www.kpitgnutools.com/feedback.php

 

CHANGES IN THIS RELEASE:

This section describes the enhancements made and the issues fixed in the v0902 release.

GCC:

1.

If the source code contained single as well as double precision data types, then the compiler generated incorrect code for float operation. The test case for this is:

int main(void)
{
   double d;
   float s;

   d = 0.0;
   d = d + 2.0;

   s = 0.0;
   s = s + 2.0;

   return 0;
}

This bug has now been fixed.

2.

 While exiting an interrupt service routine for certain optimisation options, the compiler did not restore the correct values of several scratch registers. This bug has now been fixed.

3.

The MOVML instruction generated by the compiler in the interrupt service routine's epilogue for restoring scratch registers was not consistent with the instruction used to save scratch registers in the prologue. This caused incorrect values to be restored. This bug has now been fixed.

HEW (For Windows OS only):

1.

The endianness (big or little) was not updated in the assembler settings as per the changes in the compiler settings. This bug has now been fixed.

2.

Additional CPU options specified under the compiler tab in HEW build phase settings were not updated automatically in the library generator phase and the user was prompted to open the Linker/ Library Generator option dialogs and click on "OK". This bug has now been fixed by providing a single interface for setting the compiler, assembler, linker and library generator options.

3.

Up to version v0901, after changing the "Library Generator" settings, the user was prompted to open the Compiler/ Linker option dialogs and click on "OK". This bug has now been fixed by providing a single interface for setting the compiler, assembler, linker and library generator options.

4.

Use of the Flash Development Tool (FDT) plug-ins under HEW on Windows Vista is deprecated. Hence, users are advised to download the latest version of the FDT application and use it independently for Flash downloads.

 

 KNOWN LIMITATIONS IN SH-ELF:

 

This section describes the known problems in this release. We intend to fix these issues in future releases.

We occasionally release maintenance packs for critical bugs fixes.

Windows and GNU/Linux:

1. In newlib, 'fmod' function fails with and without "-mrenesas" option for the following single precision targets,
a. SH2E
b. SH2A-Single-Only
c. SH3E
d. SH4-Single-Only (little endian and big endian)
e. SH4A-Single-Only (little endian and big endian)
2. The 'log10', 'ldexp' and 'frexp' functions of optimised libraries fail for SH4-Single-Only (little endian) and SH4A-Single-Only (little endian) targets.
3. Library Generator: Please refer to the following link for the known issues and limitations related to this utility,
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=002003&id=415&lang=en
4.

The SH peripheral registers have strict access size requirements with some registers requiring a byte level access. The GNUSH compiler generates a word level instruction "mov.w" to access these peripheral registers. This type of access currently fails on hardware. Please refer to the following link for more details, 

http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=002003&id=430&lang=en

 

HEW (For Windows OS only):

 

1. The following features are currently not supported in HEW:
a. Generate makefile
b. Support for 'convrenesaslib' utility

For other limitations pertaining to the single interface for the compiler, assembler, linker and library generator, please refer to the following link,

http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=003001&id=445&lang=en

 

NOTE:

Windows and GNU/Linux:

1. 

The optimised libraries are provided along with the Newlib libraries in the toolchain and do not require a separate download.

2.

The optimised libraries ('liboptm.a' and 'liboptc.a') are not provided under GNU GPL. The source code of these optimised libraries is neither released nor available on request.

3.

The "libgen" utility is not provided under GNU GPL. The source code of the "libgen" utility is neither released nor available on request.